X=imread('wed2.jpg');
r=X(:,:,1);g=X(:,:,2);b=X(:,:,3);
Xgray=0.2126*r + 0.7152*g +0.0722*b;
original=figure;
set(original, 'name', 'Original BW','numbertitle','off')
imagesc(Xgray);colormap(gray)
axis square;
for i=1:75
for j=1:75
x=Xgray((i-1)*8+1:(i-1)*8+8,(j-1)*8+1:(j-1)*8+8);
xd=double(x);
xc=xd-128;
Y=dct(dct(xc')');
p=4;
Q=p*8./hilb(8);
Yq=round(Y./Q);
Ydq=Yq.*Q;
Xdq=idct2(Ydq);
Xe=Xdq+128;
Xf=uint8(Xe);
Xout((i-1)*8+1:(i-1)*8+8,(j-1)*8+1:(j-1)*8+8)=Xf;
end
end
figure('name', 'After, p=4','numbertitle','off');
imagesc(Xout);colormap(gray)